package demo1210.pm.pm1;

/*{}
 代码块:分为局部代码块 ,构造代码块, 静态代码块,同步代码块(线程讲)
1.局部代码块：在方法中出现；限定变量生命周期，及早释放，提高内存利用率

2.构造代码块：在类中方法外出现；多个构造方法方法中相同的代码存放到一起，
每次调用构造方法都执行，并且在构造方法执行前执行

3.静态代码块：在类中方法外出现，并加上static修饰；
用于给类进行初始化，在加载的时候就执行，并且只执行一次。（应用于加载驱动）

 */
public class Demo_03 {
    static {
        System.out.println("Demo_03静态代码块...");
    }
    public static void main(String[] args) {

        {
            System.out.println("局部代码块");
            int num = 100;
            System.out.println(num);
        }
      A  a = new A(10);
      A  a1 = new A();
    }
}

class A {
    int a;
    static {
        System.out.println("静态代码块");
    }
    {
        System.out.println("构造代码块...");
    }
    public A() {
        System.out.println("无参构造方法");
    }

    public A(int a) {
        System.out.println("有参构造方法");
        this.a = a;
    }
}